package com.guli.secKill.service;
/*
 * @Author 罗俊
 * @date 2020/12/1 - 2:18 下午
 *
 */

import com.guli.common.pojo.SeckillSkuRelationEntity;
import com.guli.common.to.SecKillSessionAndRelation;
import com.guli.secKill.vo.SecKillInfoVo;
import com.guli.secKill.vo.SecKillRelationAndSpu;

import java.util.List;

public interface SecKillService {

    /**
     * 获取当前时间可以参与的秒杀活动信息和商品
     * @return
     */
    List<SecKillRelationAndSpu> getAvailableSecKillSpu();

    /**
     * 检查这个spu是否能参与秒杀活动
     * @param spuId
     * @return null，如果该spu没有能参与的秒杀活动
     */
    List<SecKillRelationAndSpu> checkWhetherTheProductParticipatesInTheSpike(String spuId);

    /**
     * 对上面方法 checkWhetherTheProductParticipatesInTheSpike() 的一个封装
     * @param spuId
     * @return
     */
    List<SecKillSessionAndRelation> checkWhetherTheProductParticipatesInTheSpikeAndReturnRelation(String spuId);

    void refreshCache();

    String executeSecKill(SecKillInfoVo secKillInfoVo) ;
}
